type neverType01 = string & number  // 两种类型不可能同时存在

function neverFn01():never {
  // throw new Error('error')
  while(true) {

  }
}

type neverType02 = void | number | never  // never 会被忽略

/* 
应用场景：
报错信息处理
*/

type neverRes = '唱' | '跳' | 'rap' | '篮球'

function neverFn02(value: neverRes) {
  switch(value) {
    case "唱":
      break;
    case "跳":
      break;
    case "rap":
      break;
    // case "篮球":
    //   break;
    default:
      // 兜底逻辑
      // const error:never = value  // 会提示报错信息，方便后期排查
      break
  }
}